function f=ict2 (coef,identifier)
imSize=size(coef{1}{1});
n=imSize(1);
m=imSize(2);

num_radial=length(coef)-1;

low=coef{end};


%figure;imagesc(abs(f));colormap('gray');
f_hat=fftshift(fft2(low)).*get_curvelet(identifier,imSize,0,0);

for radial=1:num_radial
    fprintf(['ict: Iteration ' num2str(radial) ' of ' num2str(num_radial) '\n']);
    num_angular=length(coef{radial});
    for angular=1:num_angular
        fprintf('.');
        if(angular==num_angular)
            fprintf('\n');
        end
        %compute curvelet in fourier domain
        curvelet=get_curvelet(identifier,imSize,radial,angular);

       %apply to coefficient matrix and fft
        f_hat=f_hat+fftshift(fft2(coef{radial}{angular})).*curvelet;%.*curvelet;
        
    end
end 
 

f=abs(ifft2(ifftshift(f_hat)));
end


% function cur_=trans(cur,a,b)
% [n,m]=size(cur);
% cur_=zeros(n,m);
% if(a>1)
%     cur_(1:a,:)=cur(n-a+1:n,:);
%     cur_(a+1:n,:)=cur(1:n-a,:);
% end
% if(b>1)
%     cur_(:,1:b)=cur(:,m-b+1:m);
%     cur_(:,b+1:n)=cur(:,1:n-b);
% end
% 
% 
% 
% 
% 
% end















